package club.kingyin.kyblog.core.utils.log;

import org.slf4j.Logger;

/**
 * <P>
 *     日志组件的最后一个环节，后置增强器，当方法调用完成，日志产生后将会进入
 *     后置增强链中依次执行，执行顺序按照{@link Log 内 postProcessor}参数
 *     顺序决定，组件已经实现了控制台输出{@link PostProcessorConsole}
 * </P>
 *
 * @author : kingyin
 * @version : 1.0
 * @program : Ky-Blog
 * @description : 日志后置增强器
 * @create : 2021年08月13日 15:46
 **/
public interface LogPostProcessor<T> {

    /**
     * 扩展点：写入数据库 | 写入消息队列
     * 在日志信息创建完成之后执行的方法
     * 最终日志
     * @param logResult 日志信息
     * @param log 日志
     */
    void PostProcessorLog(LogResult logResult, Logger log, T handler);
}
